* font.c (font_unparse_xlfd): Don't blindly alloca long strings.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 29 Aug 2011 18:46:42 +0000 (11:46 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 29 Aug 2011 18:46:42 +0000 (11:46 -0700)
commit4b0e4318bfb8eab62aa01922596b8a04921b65dd
treeeb07ed56d398d6fc130b84d2b233ffbd6c33bee4
parent326f0d3b68c96877f4423866f3f40f6eb7054c89
* font.c (font_unparse_xlfd): Don't blindly alloca long strings.

Don't assume XINT result fits in int, or that XFLOAT_DATA * 10
fits in int, when using sprintf.  Use single snprintf to count
length of string rather than counting it via multiple sprintfs;
that's simpler and more reliable.
(APPEND_SPRINTF): New macro.
(font_unparse_fcname): Use it to avoid sprintf buffer overrun.
(generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not
sprintf, in case result does not fit in int.
src/ChangeLog
src/font.c